home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1996 / MacHack 1996.toast / Hacks / Hacks ’92 / Bell Choir ƒ / choir source / AESend.c < prev    next >
Encoding:
C/C++ Source or Header  |  1992-06-13  |  2.6 KB  |  107 lines  |  [TEXT/KAHL]

  1. #include "myIncludes.h"
  2. #include "myProtos.h"
  3.  
  4.  
  5. #define kBadCombo    129
  6.  
  7. extern    AEDesc        gTheAddress;
  8. extern    Boolean        gQuit, gInBackground;
  9. extern    EventRecord    gEvRecord;
  10.  
  11.  
  12. #ifndef kResumeMask
  13. #define kResumeMask             1       /* bit of message field for resume vs. suspend */
  14. #endif kResumeMask
  15.  
  16.  
  17. pascal Boolean idleProc(EventRecord *ev, long *sleep, RgnHandle *mouseRgn);
  18. pascal Boolean idleProc(EventRecord *ev, long *sleep, RgnHandle *mouseRgn)
  19. {
  20.     switch (ev->what) 
  21.         {
  22.         case nullEvent:    /* no null processing */
  23.             *sleep = 0;
  24.             mouseRgn = NULL;
  25.             break;
  26.         case updateEvt:
  27.         case activateEvt:
  28.             break;
  29.         case app4Evt:
  30.             switch ((gEvRecord.message >> 24) & 0x0FF) 
  31.                 {
  32.                 case suspendResumeMessage:
  33.                     gInBackground = (gEvRecord.message & kResumeMask) == 0;
  34.                     break;
  35.                 }
  36.             break;
  37.         }
  38.     
  39.     return(false);      /* wait forever */
  40. }
  41.  
  42.  
  43. void SendSimple(void);
  44. void SendSimple(void)
  45. {
  46. AppleEvent    ourEvent, ourReply;
  47. OSErr        err;
  48.     
  49.     err = AECreateAppleEvent(kChoirEventClass, STEP1, &gTheAddress, 
  50.                 kAutoGenerateReturnID, kAnyTransactionID, &ourEvent);
  51.     err = AESend(&ourEvent, &ourReply, kAENoReply, kAENormalPriority, 
  52.                 kAEDefaultTimeout, (IdleProcPtr)idleProc, nil);
  53.     
  54.     err = AEDisposeDesc(&ourEvent);
  55. }
  56.  
  57.  
  58. void SendErrorMsg(void);
  59. void SendErrorMsg(void)
  60. {
  61. AppleEvent    ourEvent, ourReply;
  62. OSErr        err;
  63. Ptr            parameter=NewPtr(150);
  64.     
  65.     err = AECreateAppleEvent(kChoirEventClass, STEP2, &gTheAddress, kAutoGenerateReturnID, kAnyTransactionID, &ourEvent);
  66.     if (err)
  67.         StopAlert(kBadCombo, nil);
  68.     else
  69.         {
  70.     /*    strcpy(parameter, "An Error Has Occurred.");    */
  71.         err = AEPutParamPtr(&ourEvent, 'dosc', typeChar, parameter, /* strlen(parameter) */ 1);
  72.         err = AESend(&ourEvent, &ourReply, kAENoReply, 
  73.             kAENormalPriority, /*kAEDefaultTimeout*/ 15*60, (IdleProcPtr)idleProc, nil);
  74.         }
  75.     
  76.     DisposPtr(parameter);
  77.     err = AEDisposeDesc(&ourEvent);
  78. }
  79.  
  80.  
  81. void reportAddress(char    *theAddressP);
  82. void reportAddress(char *theAddressP)
  83. {
  84. AppleEvent    ourEvent, ourReply;
  85. OSErr        err;
  86. Ptr            scriptStringP;
  87.     
  88.     scriptStringP = NewPtrClear(255);
  89. /*    strcpy(scriptStringP, "put \"");
  90.     strncat(scriptStringP, theAddressP, 5);
  91.     strcat(scriptStringP, "\" into cd fld \"CurrFrame\" of wd \"VideoTape\" of proj gMediaText");
  92. */    
  93.     err = AECreateAppleEvent(kChoirEventClass, STEP3, &gTheAddress, kAutoGenerateReturnID, kAnyTransactionID, &ourEvent);
  94.     if (err)
  95.         StopAlert(kBadCombo, nil);
  96.     else
  97.         {
  98.         err = AEPutParamPtr(&ourEvent, '----', typeChar, scriptStringP, 1 /* strlen(scriptStringP) */);
  99.         err = AESend(&ourEvent, &ourReply, kAENoReply, 
  100.             kAENormalPriority, /*kAEDefaultTimeout*/ 15*60, (IdleProcPtr)idleProc, nil);
  101.         }
  102.         
  103.     DisposePtr(scriptStringP);
  104.     AEDisposeDesc(&ourEvent);
  105. }
  106.  
  107.